package com.mark.service;

import com.mark.dto.CartDTO;
import com.mark.entity.ProductInfo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;


import java.util.List;
import java.util.Optional;

/**
 * Created by Choisaaaa on 2018/6/21.
 * 商品service层接口定义
 */
public interface IProductInfoService {
    //根据商品Id查找商品
    Optional findByProductId(String productId);

    //所有在售的商品
    List<ProductInfo> findUpAll();

    //分页查找所有商品
    Page<ProductInfo> findAll(Pageable pageable);

    //保存商品
    ProductInfo save(ProductInfo productInfo);

    //加库存
    void increaseStock(List<CartDTO> cartDTOList);

    //减库存
    void decreaseStock(List<CartDTO> cartDTOList);
}
